package pe.gob.servir.apps.censodirectivo.ejb.service;

import java.util.List;

import javax.ejb.Local;

import pe.gob.servir.apps.censodirectivo.excepcion.DAOExcepcion;
import pe.gob.servir.apps.censodirectivo.excepcion.ServiceExcepcion;
import pe.gob.servir.apps.censodirectivo.model.bean.Catalogos;
import pe.gob.servir.apps.censodirectivo.model.bean.MensajeRespuesta;
import pe.gob.servir.apps.censodirectivo.model.bean.NivelGobierno;
import pe.gob.servir.apps.censodirectivo.model.bean.NivelProfesional;

@Local
public interface CatalogoServiceLocal {
	
	MensajeRespuesta registrarAreaInteres(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarAreaInteres(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosAreaInteres(String catalogos, long id) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdAreaInteres(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarInstitucionEducativa(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarInstitucionEducativa(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarInstitucionEducativa(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdInstitucionEducativa(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarNivelProfesional(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarNivelProfesional(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarNivelProfesional(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos ObtenerPorIdNivelProfesional(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarNivelGobierno(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarNivelGobierno(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarNivelGobierno(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos ObtenerPorIdNivelGobierno(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarClasificacionEntidad(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarClasificacionEntidad(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosClasificacionEntidad(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdClasificacionEntidad(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipoEntidad(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipoEntidad(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipoEntidad(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipoEntidad(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipoAreaInteres(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipoAreaInteres(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipoAreaInteres(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipoAreaInteres(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarAreaEstudios(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarAreaEstudios(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosAreaEstudios(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdAreaEstudios(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipoDatoAcademicos(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipoDatoAcademicos(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipoDatoAcademicos(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipoDatoAcademicos(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipoExperienciaLaboral(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipoExperienciaLaboral(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipoExperienciaLaboral(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipoExperienciaLaboral(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarSectores(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarSectores(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosSectores(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdSectores(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarAreaOrganizativas(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarAreaOrganizativas(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosAreaOrganizativas(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdAreaOrganizativas(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarSectorEntidad(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarSectorEntidad(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosSectorEntidad(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdSectorEntidad(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipologiaEntidades(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipologiaEntidades(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipologiaEntidades(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipologiaEntidades(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarPuestos(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarPuestos(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosPuestos(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdPuestos(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipoPuestos(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipoPuestos(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipoPuestos(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipoPuestos(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarNivelOrganizacionales(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarNivelOrganizacionales(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosNivelOrganizacionales(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdNivelOrganizacionales(long id) throws ServiceExcepcion;
	
	MensajeRespuesta registrarTipoPlantillas(Catalogos catalogos) throws ServiceExcepcion;
	MensajeRespuesta actualizarTipoPlantillas(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosTipoPlantillas(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdTipoPlantillas(long id) throws ServiceExcepcion;
	
	MensajeRespuesta actualizarEstadoResponsables(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosEstadoResponsables(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdEstadoResponsables(long id) throws ServiceExcepcion;
	
	MensajeRespuesta actualizarEstadoDirectivos(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosEstadoDirectivos(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdEstadoDirectivos(long id) throws ServiceExcepcion;
	
	MensajeRespuesta actualizarEstadoCensos(Catalogos catalogos) throws ServiceExcepcion;
	List<Catalogos> listarTodosEstadoCensos(String nombreCatalogo) throws ServiceExcepcion, DAOExcepcion;
	Catalogos obtenerPorIdEstadoCensos(long id) throws ServiceExcepcion;
}
